package com.heima.user.listen;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author: zjh
 * @Description: 通用的监听，这样就不用一个模板一个监听了
 * @Date: Created in 2020/5/20 11:29
 * Modified by:
 */
public class CommonListen<T> extends AnalysisEventListener<T> {
    //模板对应的实体类
    private Class<T> tClass;
    private List<T> list = new ArrayList<T>();
    /**
     * 如果使用了spring,请使用这个构造方法。每次创建Listener的时候需要把spring管理的类传进来
     */
    public CommonListen(Class tClass) {
        this.tClass = tClass;
    }

    public CommonListen() {
    }

    @Override
    public void invoke(T t, AnalysisContext analysisContext) {
        list.add(t);
    }
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        System.out.println("excel全部解析完毕后的收尾操作");
    }
    public List<T> getList() {
        return list;
    }
}
